package org.cskt.sl.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.cskt.sl.sys.entity.Part;
import org.cskt.sl.sys.example.PartExample;

public interface PartMapper {
	/**
	 * 查询角色数量
	 * @param example
	 * @return
	 */
    int countByExample(@Param("example")PartExample example);
    /**
     * 批量删除角色
     * @param example
     * @return
     */
    int deleteByExample(@Param("example")PartExample example);
    /**
     * 根据主键删除角色
     * @param pid
     * @return
     */
    int deleteByPrimaryKey(Integer pid);
	/**
	 * 完全的新增角色信息
	 * @param record
	 * @return
	 */
    int insert(Part record);
    /**
     * 根据字段非空新增字段信息
     * @param record
     * @return
     */
    int insertSelective(Part record);
    /**
     * 查询所有的角色
     * @param example
     * @return
     */
    List<Part> selectByExample(PartExample example,@Param("first") int firstResult,@Param("max") int maxResult);
    /**
     * 根据主键查询角色
     * @param pid
     * @return
     */
    Part selectByPrimaryKey(Integer pid);
    /**
     * 根据条件批量更新角色信息(根据是否为空动态更新)
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") Part record, @Param("example") PartExample example);
    /**
     * 根据条件批量更新角色信息(完全的更新)
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") Part record, @Param("example") PartExample example);
    /**
     * 根据主键 更新单个角色信息(根据是否为空动态更新)
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Part record);
    /**
     * 根据主键 更新单个角色信息(完全更新)
     * @param record
     * @return
     */
    int updateByPrimaryKey(Part record);
}